#ifndef PIXEL
#define PIXEL

#include "../core/define.h"

namespace sleek
{
    namespace texture
    {
        class pixel
        {
            public:
                pixel();
                pixel(core::u8,core::u8,core::u8,core::u8 a = 255);
                virtual ~pixel();

                virtual void setRed(core::u8);
                virtual void setGreen(core::u8);
                virtual void setBlue(core::u8);
                virtual void setAlpha(core::u8);

                virtual core::u8 getRed();
                virtual core::u8 getGreen();
                virtual core::u8 getBlue();
                virtual core::u8 getAlpha();

                virtual pixel monochrome();
                virtual pixel monochrome_with_alpha();
                virtual core::u8 getLuminaissance();
            public:
                core::u8 red;
                core::u8 green;
                core::u8 blue;
                core::u8 alpha;
        };
    }
}

#endif
